package thread;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Scanner;

/**
 * Thread提供了一个静态方法:
 * static void sleep(long ms)
 * 可以使执行这个方法的线程进入阻塞状态指定毫秒,超时后线程会自动回到RUNNABLE状态再次并发执行
 */
public class SleepDemo {
    public static void main(String[] args) throws IOException {
        System.out.println("程序开始了");
        /*
            实现建议的倒计时程序
            程序启动后在控制台上输入一个数字,然后从该数字开始每秒递减.到0时输出"时间到",然后程序结束
         */
      //  Scanner scan=new Scanner(System.in);
      //  System.out.println("请输入一个数字");
        BufferedReader br=new BufferedReader(
                new InputStreamReader(
                        System.in   //低级流,从控制台上读取内容
                )
        );
        String line =br.readLine();//读取一行字符串
        int num=Integer.parseInt(line);//将字符串转换为整数
        try {
            for (;num>=0; num--){
                System.out.println(num);
                Thread.sleep(1000);//主线程执行时会阻塞5秒


                if(num==0){
                    System.out.println("时间到");
                }
            }
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.println("程序结束了");
    }
}
